ec8b2cf7b763a8bdd04433fd9db3674f78369be3,src/main/java/io/mewbase/server/impl/ConnectionImpl.java,ConnectionImpl,handleListChannels,#BsonObject#,413
Before Change
@Override
public void handleListChannels(BsonObject frame) {
checkContext();
if (!isAuthorized(Protocol.LIST_CHANNELS_FRAME)) {
return;
}
Integer requestID = frame.getInteger(Protocol.REQUEST_REQUEST_ID);
if (requestID == null) {
missingField(Protocol.REQUEST_REQUEST_ID, Protocol.LIST_CHANNELS_FRAME);
return;
}
BsonObject resp = new BsonObject();
resp.put(Protocol.RESPONSE_REQUEST_ID, requestID);
resp.put(Protocol.RESPONSE_OK, true);
After Change
public void handleListChannels(BsonObject frame) {
checkContext();
CompletableFuture<Boolean> authorisedCF = user.isAuthorised(Protocol.LIST_CHANNELS_FRAME);
Consumer<BsonObject> frameConsumer = (protocolFrame) -> {
Integer requestID = protocolFrame.getInteger(Protocol.REQUEST_REQUEST_ID);
if (requestID == null) {
missingField(Protocol.REQUEST_REQUEST_ID, Protocol.LIST_CHANNELS_FRAME);
return;
}
BsonObject resp = new BsonObject();
resp.put(Protocol.RESPONSE_REQUEST_ID, requestID);
resp.put(Protocol.RESPONSE_OK, true);
BsonArray arr = new BsonArray(server.listChannels());
resp.put(Protocol.LISTCHANNELS_CHANNELS, arr);
writeResponse(Protocol.RESPONSE_FRAME, resp);
};
authorisedCF.handle((res, ex) -> {
handleFrame(frame, frameConsumer, res, ex);
return null;
});
}
@Override